MiniZinc: Towards a Standard CP Modelling Language
نویسندگان
چکیده
There is no standard modelling language for constraint programming (CP) problems. Most solvers have their own modelling language. This makes it difficult for modellers to experiment with different solvers for a problem. In this paper we present MiniZinc, a simple but expressive CP modelling language which is suitable for modelling problems for a range of solvers and provides a reasonable compromise between many design possibilities. Equally importantly, we also propose a low-level solver-input language called FlatZinc, and a straightforward translation from MiniZinc to FlatZinc that preserves all solver-supported global constraints. This lets a solver writer support MiniZinc with a minimum of effort— they only need to provide a simple FlatZinc front-end to their solver, and then combine it with an existing MiniZinc-to-FlatZinc translator. Such a front-end may then serve as a stepping stone towards a full MiniZinc implementation that is more tailored to the particular solver. A standard language for modelling CP problems will encourage experimentation with and comparisons between different solvers. Although MiniZinc is not perfect—no standard modelling language will be—we believe its simplicity, expressiveness, and ease of implementation make it a practical choice for a standard language.
منابع مشابه
Embedding MiniZinc?
MiniZinc is an expressive, mid-level modelling language for combinatorial optimisation problems. Its main advantage over other modelling languages and systems is the approach towards solver-independent modelling: it comes with an extensive library of global constraints that are supported by all MiniZinc-compatible solvers – either through decomposition, or as a native builtin constraint of the ...
متن کاملImproved Linearization of Constraint Programming Models
Constraint Programming (CP) standardizes many specialized “global constraints” allowing high-level modelling of combinatorial optimization and feasibility problems. Current Mixed-Integer Linear Programming (MIP) technology lacks both a modelling language and a solving mechanism based on high-level constraints. MiniZinc is a solver-independent CP modelling language. The solver interface works by...
متن کاملThe Evolving World of MiniZinc
MiniZinc arose as a response to the extended discussion at CP2006 of the need for a standard modelling language for CP. This is a challenging problem, and we believe MiniZinc makes a good attempt to handle the most obvious obstacle: there are hundreds of potential global constraints, most handled by few or no systems. We have now used MiniZinc for 2 years, and learnt a lot about its strengths a...
متن کاملStochastic MiniZinc
Combinatorial optimisation problems often contain uncertainty that has to be taken into account to produce realistic solutions. However, existing modelling systems either do not support uncertainty, or do not support combinatorial features, such as integer variables and non-linear constraints. This paper presents an extension of the MINIZINC modelling language that supports uncertainty. Stochas...
متن کاملMiniZinc with Functions
Functional relations are ubiquitous in combinatorial problems – the Global Constraint Catalog lists 120 functional constraints. This paper argues that the ability to express functional constraints with functional syntax leads to more elegant and readable models, and that it enables a better translation of the models to different underlying solving technologies such as CP, MIP, or SAT. Yet, most...
متن کامل